Schedules are applications which may be defined for transaction processing systems, such as computer systems. A schedule instance may be executed in such a system, whereby one or more transactions within the schedule are executed. In executing an instance of such a schedule and its component transactions, information associated therewith may need to be stored or persisted in a storage medium, such as a memory system.
Storage of information in a storage medium may be facilitated using a database in conjunction with a database management system (DBMS). A database is a collection of related data that may be stored on a nonvolatile memory medium. Data in the database is commonly organized in a two-dimensional row and column form called a table. A database typically includes multiple tables.
A table is an object in the database having at least one record and at least one field within each record. Thus, a table may be thought of as an object having two-dimensional record and field organization. A record is a row of data in the table that is identified by a unique numeric called a record number. A field is a subdivision of a record to the extent that a column of data in the table represents the same field for each record in the table. Each field in a record is identified by a unique field name and a field name remains the same for the same field in each record of the table. Therefore, a specific datum in a table is referenced by identifying a record number and a field name.
A database management system (DBMS) is a control system that supports database features including, but not limited to, storing data on a memory medium, and retrieving data from the memory medium. Data in the database is typically organized among a plurality of objects that include, but are not limited to, tables and queries. An individual table or query may be referred to as a record source because it is a source of data or records from the database. A query object is an executable database interrogation statement, command, and/or instruction that communicates to the database management system the identity and location of data being extracted from the database. The product of an executed query is called a result set. A result set may be stored and/or manipulated as a two-dimensional object similar to the table discussed previously.
A relational database is a common database type managed by a database management system. Data in a relational database is distributed among multiple record sources that are typically related, or normalized, in a manner designed to minimize redundant data in the database, minimize the space required to store data in the database, and maximize data accessibility. Record sources in a database may be related to one another via key fields. A normalized database is one where each record source in the database is directly related to at least one other record source in the same database by key fields.
A key field can be a primary key or a foreign key. A primary key is a field or combination of fields in a record source that includes unique data for each record in the table. A foreign key is any non-primary key in a record source that is the basis for a direct relation with any other record source. A database remains a relational database regardless of the degree of normalization that exists. Record sources in a normalized relational database are typically related. However, a relational database may be normalized even if the database is disconnected in that at least one record source in the database is not related to any other record source by a key field.
Relationships between any two record sources in a relational database may be either direct or indirect. Such a relationship may also be referred to as a relation or join. A direct relationship exists between two record sources if there is no intervening record source in the relationship path therebetween. An indirect relationship exists if there is at least one intervening record source in the relationship path between two record sources.
The record sources in a relational database and the relationships therebetween define the geography of a database, which may be called a database schema. A sub-schema of the database is any subset of the full database schema that is defined by a query, a result set of a query, or any other subset of record sources from the database. A database schema and database sub-schema may be displayed visually in graphic form as a graph having edges or arrows representing relationships between record sources, and vertices, also known as nodes or tables, representing the record sources at either end of a relationship.
Queries are used to access data in a database. A query may be constructed in a Structured Query Language (SQL) that may or may not be based on the American National Standards Institute (ANSI) standard SQL definition. To access data in a database, a user may construct a query using an SQL. Executing a query is called a join or joining wherein each relation identified in the query is joined during execution to retrieve the desired data from a database.
Schedule-related information comprises many diverse types of data. Prior transaction processing systems do not provide an effective mechanism for the storage any retrieval of such schedule-related information and data to and from a storage medium, such as a database. It is desirable to store information relating to a schedule definition in an efficient manner where the specifics of the definitional language may be easily reconstructed solely from information in a database. At the same time, updates to the database with runtime information may need to be fast, possibly at the expense of storage efficiency. Thus, fully normalized database structures are not an optimal match for the requirements of schedule information storage. In addition, schedule-related information may include binding information. One or more bindings may be associated with a schedule, to allow instances of a single schedule to be executed on different machines or systems with different hardware technologies. Conventional database structures and schemas do not provide efficient, easily-portable storage solutions for schedule-related information storage. Moreover, current schedule storage methods and systems do not provide for ease of querying and monitoring schedule-related information and data.